// CSUTOM VIEW: UserName
//================================================================================
struct UserName: View {
//PARAMETERS
var user: User
//VIEW LAYOUT
var body: some View {
VStack {
HStack {
VStack(alignment: .leading) {
Text("First Name:").bold().padding(.bottom)
Text("Last Name:").bold()
}
VStack(alignment: .leading) {
Text(user.firstName).padding(.bottom)
Text(user.lastName)
}
}.frame(maxWidth: .infinity, alignment: .topLeading).padding()
}
}
}
//================================================================================
// CSUTOM VIEW: UserImage
//================================================================================
struct UserImage: View {
//PARAMETERS
var user: User
//VIEW LAYOUT
var body: some View {
VStack {
Image(user.imageName)
.resizable()
.aspectRatio(contentMode: .fit)
.border(Color.gray, width: 2)
.padding(.leading)
.padding(.trailing)
}
}
}
//================================================================================
// CSUTOM VIEW: UserNameImage
//================================================================================
struct UserDetails: View {
//PARAMETERS
var user: User
//VIEW LAYOUT
var body: some View {
VStack(alignment: .leading) {
UserName (user: user).border(Color.red, width: 2)
UserImage(user: user).border(Color.red, width: 2)
}
}
}